package com.glp.work.flow.mapper;

import com.glp.work.flow.pojo.WfOrder;
import com.glp.work.flow.response.WfOrderResultDTO;
import feign.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 动态表单
 *
 * @author pengjia
 * @version 2020年3月9日 下午4:27:49
 */
public interface WfOrderMapper extends Mapper<WfOrder> {

    /**
     * 查询代办工单信息
     *
     * @param params 查询参数
     * @return 工单信息
     */
    List<WfOrderResultDTO> queryToDoTasksOrder(Map<String, Object> params);

    /**
     * 查询已办工单信息
     *
     * @param params 查询参数
     * @return 工单信息
     */
    List<WfOrderResultDTO> queryDoneTasksOrder(Map<String, Object> params);

    /**
     * 流程定义KEY
     *
     * @param proDefkey
     * @return
     */
    Long countRuntimeTasks(String proDefkey);

    /**
     * 模拟工单已办列表
     *
     * @param params 查询参数
     * @return 工单信息
     */
    List<WfOrderResultDTO> myApplicationDoneOrder(Map<String, Object> params);

    /**
     * @description : 我申请的待办工单
     * @params : [params]
     * @returns : java.util.List<com.glp.work.flow.response.WfOrderResultDTO>
     * @author : 郭永伟
     * @date : 2020/9/25
     */
    List<WfOrderResultDTO> myApplicationToDoOrder(Map<String, Object> params);

    /**
     * @description : 我申请的驳回工单
     * @params : [params]
     * @returns : java.util.List<com.glp.work.flow.response.WfOrderResultDTO>
     * @author : 郭永伟
     * @date : 2020/9/25
     */
    List<WfOrderResultDTO> myApplicationRejectOrder(Map<String, Object> params);

    /**
     * @description : 我的代办工单2.0
     * @params : [params]
     * @returns : java.util.List<com.glp.work.flow.response.WfOrderResultDTO>
     * @author : 郭永伟
     * @date : 2020/9/25
     */
    List<WfOrderResultDTO> queryToDoTasks(Map<String, Object> params);

    /**
     * @description : 我的所
     * @params : [params]
     * @returns : java.util.List<com.glp.work.flow.response.WfOrderResultDTO>
     * @author : 郭永伟
     * @date : 2020/10/16
     */
    List<WfOrderResultDTO> myAllTask(Map<String, Object> params);

    /**
     * @description : 我申请的所有任务
     * @params : [params]
     * @returns : void
     * @author : 郭永伟
     * @date : 2020/10/16
     */
    List<WfOrderResultDTO> myApplicationAllTask(Map<String, Object> params);

    /**
     * @description : 查询待办任务数量
     * @params : [params]
     * @returns : java.util.List<com.glp.work.flow.response.WfOrderResultDTO>
     * @author : 郭永伟
     * @date : 2020/11/5
    */
    List<WfOrderResultDTO> queryToDoTasksOrderQuantity(Map<String, Object> params);

    /***
     * @description : 查询所有工单
     * @params : [params]
     * @returns : java.util.List<com.glp.work.flow.response.WfOrderResultDTO>
     * @author : 郭永伟
     * @date : 2021/1/12
    */
    List<WfOrderResultDTO> queryAllOrder(Map<String, Object> params);

    /**
     * @description : 查询所有工单总的驳回工单
     * @params : [params]
     * @returns : java.util.List<com.glp.work.flow.response.WfOrderResultDTO>
     * @author : 郭永伟
     * @date : 2021/1/14
    */
    List<WfOrderResultDTO> queryAllRejectTasks(Map<String, Object> params);

    /**
     * @description : 查询所有工单中的待办工单
     * @params : [params]
     * @returns : java.util.List<com.glp.work.flow.response.WfOrderResultDTO>
     * @author : 郭永伟
     * @date : 2021/1/14
    */
    List<WfOrderResultDTO> queryAllToDoTasks(Map<String, Object> params);

    /**
     * @description : 查询所有工单中的已办工单
     * @params : [params]
     * @returns : java.util.List<com.glp.work.flow.response.WfOrderResultDTO>
     * @author : 郭永伟
     * @date : 2021/1/14
    */
    List<WfOrderResultDTO> queryAllDoneTasks(Map<String, Object> params);


}
